package com.ruoyi.equip.mapper;

import com.ruoyi.common.core.domain.SelectEntity;
import com.ruoyi.equip.domain.TagData;
import com.ruoyi.equip.domain.TagInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.equip.domain.entity.table.ExportParam;
import com.ruoyi.equip.domain.entity.table.TagTableEntity;
import com.ruoyi.equip.domain.vo.TagVo;
import com.ruoyi.td.entity.DevicePropertyLogQueryBo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 
 * @since 2024-05-20
 */
public interface TagInfoMapper extends BaseMapper<TagInfo> {

    /**
     * 查询所有标签
     *
     * @param tagVo
     */
    List<TagVo> selectTagInfoList(TagVo tagVo);
    /**
     * 获取指定标签详情
     *
     * @param tagId 标签物理ID
     */
    TagVo selectDetail(String tagId);
    /**
     * 标签导出
     */
    List<TagTableEntity> selectExportData(ExportParam exportParam);
    /**
     * 获取指定读写器下所有标签
     *
     * @param parentId 读写器物理ID
     */
    List<TagVo> selectListByParentId(String parentId);
    /**
     * 解绑指定标签
     *
     * @param tagId 标签物理ID
     */
    void unbindDevice(String tagId);
    /**
     * 判断指定读写器下是否存在标签
     */
    int hasChildOfParentId(String parentId);

    /**
     * 查询标签数据库父ID
     * @param tagId
     */
    String selectOldParentId(String tagId);

    List<SelectEntity> selectOptions(TagInfo tagInfo);
    List<SelectEntity> selectOptions1(String deviceId);

    String selectProductKey(String tagId);

    TagInfo selectBySbId(String tagId);

}
